import { get, post, put, del } from './request.js'

// 选项分类相关 API
export const optionCategoryApi = {
  /**
   * 创建选项分类
   * @param {Object} optionCategoryData - 选项分类数据
   * @returns {Promise} 创建结果，返回选项分类ID
   */
  createOptionCategory: (optionCategoryData) => {
    return post('/optionCategory/create', optionCategoryData)
  },

  /**
   * 更新选项分类
   * @param {Object} optionCategoryData - 选项分类数据
   * @returns {Promise} 更新结果
   */
  updateOptionCategory: (optionCategoryData) => {
    return put('/optionCategory/update', optionCategoryData)
  },

  /**
   * 删除选项分类
   * @param {number} id - 选项分类ID
   * @returns {Promise} 删除结果
   */
  deleteOptionCategory: (id) => {
    return del(`/optionCategory/${id}`)
  },

  /**
   * 获取选项分类详情
   * @param {number} id - 选项分类ID
   * @returns {Promise} 选项分类详情
   */
  getOptionCategoryDetail: (id) => {
    return get(`/optionCategory/${id}`)
  },

  /**
   * 获取所有选项分类列表
   * @returns {Promise} 选项分类列表
   */
  getAllOptionCategories: () => {
    return get('/optionCategory/all')
  }
}

// 使用示例
export const optionCategoryExample = {
  // 创建选项分类示例
  async createNewOptionCategory() {
    try {
      const optionCategoryData = {
        name: '满意度评价',
        description: '用于满意度调查的选项分类',
        sort: 1
      }
      const result = await optionCategoryApi.createOptionCategory(optionCategoryData)
      console.log('创建选项分类成功:', result)
      return result
    } catch (error) {
      console.error('创建选项分类失败:', error)
      throw error
    }
  },

  // 获取选项分类详情示例
  async getOptionCategoryById(id) {
    try {
      const result = await optionCategoryApi.getOptionCategoryDetail(id)
      console.log('选项分类详情:', result)
      return result
    } catch (error) {
      console.error('获取选项分类详情失败:', error)
      throw error
    }
  },

  // 获取所有选项分类列表示例
 

  // 更新选项分类示例
  async updateOptionCategoryById(optionCategoryData) {
    try {
      const result = await optionCategoryApi.updateOptionCategory(optionCategoryData)
      console.log('更新选项分类成功:', result)
      return result
    } catch (error) {
      console.error('更新选项分类失败:', error)
      throw error
    }
  }
} 